#ifndef _APPS_BDESKTOP_CVOLUMEMANAGER_H_
#define _APPS_BDESKTOP_CVOLUMEMANAGER_H_

#include "cdock.h"
#include "cvolume.h"
#include <unordered_map>

namespace buola { namespace bdesktop {

class CVolumeManager
{
public:
    CVolumeManager(CDock *pDock);
    ~CVolumeManager();

    CDock *GetDock()    {   return mDock;   }
    void MountAll();

    void LaunchBrowser(const CURL &pURL);

    void FillPlacesMenu(gui::PMenu pMenu);

    void OnDeviceAdded(system::PDiskDevice pDevice);
    void OnDeviceRemoved(system::PDiskDevice pDevice);

private:
    CDock *mDock;

    std::map<std::string,CVolume*> mVolumes;
};

/*namespace bdesktop*/ } /*namespace buola*/ }

#endif